本篇核心是「積極尋找並抽離不相關子問題」:
C++沒有比較簡單讀取整個檔案的方法,必須自行撰寫:
ifstream file(file_name);
// 計算檔案大小,配置緩衝區
file.seekg(0, ios::end);
const int file_size = file.tellg();
char* file_buf = new char [file_size];
//將整個檔案讀進緩衝區
file.seekg(0 ,ios::beg);
file.read(file_buf,file_size);
file.close();
...
這是很典型不相關子問題,應該抽取成為如 ReadFIleToString() 的新函數。